package com.jyw.business.ins.domain.vo.web;

import com.jyw.common.annotation.Conversion;
import com.jyw.common.constant.SysDictTypeConstant;
import com.jyw.common.enums.ConversionType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.FieldNameConstants;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author Created by ZhangCheng on 2023/10/10
 */
@Data
@ApiModel("巡检任务巡检项返回VO")
@FieldNameConstants
public class InsTaskItemVO {

    /**
     * 主键
     */
    @ApiModelProperty("巡检任务巡检项ID")
    private Long id;

    /**
     * 实测值
     */
    @ApiModelProperty("实测值")
    private String measuredValue;

    /**
     * 巡检结果（1正常 2异常）
     */
    @ApiModelProperty("巡检结果（1正常 2异常）")
    private Integer result;

    /**
     * 整改要求及处罚意见
     */
    @ApiModelProperty("整改要求及处罚意见")
    private String rectifyOpinion;

    /**
     * 配置巡检项ID
     */
    @ApiModelProperty("配置巡检项ID")
    private Long configItemId;

    /**
     * 巡检项名称
     */
    @ApiModelProperty("巡检项名称")
    private String itemName;

    /**
     * 巡检项类型（1数值型 2选项型）
     */
    @ApiModelProperty("巡检项类型（1数值型 2选项型）")
    @Conversion(value = ConversionType.DICT, dictType = SysDictTypeConstant.INS_ITEM_TYPE)
    private Integer itemType;

    @ApiModelProperty("巡检项标签")
    private String itemTypeToName;

    /**
     * 巡检项单位（数据字典）
     */
    @ApiModelProperty("巡检项单位（数据字典）")
    @Conversion(value = ConversionType.DICT, dictType = SysDictTypeConstant.INS_ITEM_UNIT)
    private String itemUnit;

    /**
     * 巡检项单位名称
     */
    @ApiModelProperty("巡检项单位标签")
    private String itemUnitToName;

    /**
     * 阈值最小值
     */
    @ApiModelProperty("阈值最小值")
    private BigDecimal minValue;

    /**
     * 阈值最大值
     */
    @ApiModelProperty("阈值最大值")
    private BigDecimal maxValue;

    /**
     * 默认值数值
     */
    @ApiModelProperty("默认值数值")
    private BigDecimal defaultValue;

    /**
     * 选项内容（多条用逗号隔开）
     */
    @ApiModelProperty("选项内容（多条用逗号隔开）")
    private String optionContentStr;

    /**
     * 选项内容数组
     */
    @ApiModelProperty("选项内容数组")
    private List<String> optionContent;

    /**
     * 默认值选项
     */
    @ApiModelProperty("默认值选项")
    private String defaultOption;

    /**
     * 异常值选项（多条用逗号隔开）
     */
    @ApiModelProperty("异常值选项（多条用逗号隔开）")
    private String errorOptionStr;

    /**
     * 异常值选项数组
     */
    @ApiModelProperty("异常值选项数组")
    private List<String> errorOption;

}
